function Modal(id){
	
	this.id = id;
	
	//dados default
	this.config = {
		'show':false,
		'backdrop':'static'
	};
	
}

Modal.prototype.setSelector = function(id){
	
	this.selector = "#"+id;
};

Modal.prototype.getSelector = function(){
	
	return this.selector;
};

Modal.prototype.setConfig = function(configUser){
		
	//unindo configurações no config, dando preferência ao configUser
	$.extend(this.config,configUser);
};

Modal.prototype.getConfig = function(){
	
	return this.config;
};

Modal.prototype.createModal = function(){
		
	this.setSelector(this.id);
	
	$(this.getSelector()).modal(this.getConfig());
};

//recebe a função passada pelo usuario e esconde o modal se for retornado true
Modal.prototype.closeFunction = function(userFunction,event){

	if(userFunction(this)){
		
		this.hide();
	}
	else{
		
		event.preventDefault();
	}
	
};

Modal.prototype.hide = function(){
	
	$(this.getSelector()).modal('hide');
	
};